public without sharing class WorkOrderSmsHandler {
    // 发送短信
    public static void sendSmsInfo(List<WorkOrder__c> list_new, Map<Id, WorkOrder__c> map_old) {
        /*for (WorkOrder__c wo : list_new) {
            WorkOrder__c oldWo = map_old.get(wo.Id);
            // 工程师出发，模板编号2291012018625
            if (oldWo.Status__c != wo.Status__c && wo.Status__c == '接单') {
                Case c = [select Id, Contact.MobilePhone, Contact.Name,  Engineer__r.Name from Case where Id = :wo.Case__c];
                if (String.isBlank(c.Contact.MobilePhone) == false) {
                    String smsMessage = Utils.getSMSTemplate('工程师出发');
                    smsMessage = smsMessage.replace('{ContactName}', c.Contact.Name);
                    smsMessage = smsMessage.replace('{EngineerName}', wo.CreatedName__c);
                    smsMessage = smsMessage.replace('{DepartTime}', wo.LastModifiedDate.format('yyyy年M月d日H点m分'));
                    Utils.sendSmsMessage(c.Contact.MobilePhone, smsMessage);
                }
            }
        }
        */
    }
    // public void handle() {
    // 	//只在更新完成后才执行
    //     if(Trigger.isUpdate && Trigger.isAfter){
    //     	//保存个案Id
    //     	Set<Id> caseSet = new Set<Id>();
    //         //工程师ID列表
    //         List<String> engList = new List<String>();
    //     	//联系人ID列表
    // 		List<String> conList = new List<String>();
    //     	//保存需要发短信的工单
    // 		List<WorkOrder__c> woMap = new List<WorkOrder__c>();
    //         //个案工单和工程师对应关系
    //         Map<Id,Id> mapEngineer = new Map<Id,Id>();
    //     	for (WorkOrder__c w : (List<WorkOrder__c>)Trigger.new){
    // 			WorkOrder__c wold = (WorkOrder__c)Trigger.oldMap.get(w.Id);
    // 			//如果状态变更了,并且工单个案不为空(需要发短信)
    // 			if(w.Case__c != null && wold.Status__c != w.Status__c){
    // 				caseSet.add(w.Case__c);
    // 				woMap.add(w);
    //                 //工单接单人(工程师或协同组人员)
    //                 engList.add(w.LastModifiedById);
    //                 mapEngineer.put(w.Case__c, w.LastModifiedById);
    // 			}
    // 		}
    // 		//取出要发送短信的个案
    // 		List<Case> caseList = [SELECT Id,ContactId,Engineer__c FROM Case WHERE Id IN : caseSet];
    //         //个案和联系人对应关系
    // 		Map<Id,Id> mapCases = new Map<Id,Id>();
            
    // 		for(Case c : caseList){
    // 			mapCases.put(c.Id, c.ContactId);
    //             //个案联系人
    // 			conList.add(c.ContactId);
    //             //个案分配的工程师
    //             engList.add(c.Engineer__c);
    // 		}
    // 		//取出联系人
    // 		Map<Id,Contact> mapCons = new Map<Id,Contact>([SELECT Id,Name,MobilePhone FROM Contact WHERE Id IN : conList]);
    //         //取出工程师
    //         Map<Id,User> mapUsers = new Map<Id,User>([SELECT Id,Name FROM User WHERE Id IN : engList]);

    // 		for(WorkOrder__c w : woMap){
    // 			Contact con = mapCons.get(mapCases.get(w.Case__c));
    //             User engineer = mapUsers.get(mapEngineer.get(w.Case__c));
    // 			//如果个案设置了联系人，则发送，否则不发送短信通知
    // 			if(con != null && engineer != null){
    //                 //联系人手机
    //                 String phone = con.MobilePhone;
    //                 //如果有电话号码,则发送，否则不发送短信通知
    //                 if(phone != null && !String.isEmpty(phone.trim())){
    //                     //短信发送内容
    //                     String smsMessage = '';
    //                     if(w.Status__c == '接单'){
    //                         //发送工程师出发短信
    //                         smsMessage = Utils.getSMSTemplate('工程师出发');
    //                         smsMessage = smsMessage.replace('{ContactName}', con.Name);
    //                         smsMessage = smsMessage.replace('{EngineerName}', engineer.Name);
    //                         Utils.sendSmsMessage(phone,smsMessage);
    //                     }else if(w.Status__c == '完成'){
    //                         //发送服务完成短信
    //                         smsMessage = Utils.getSMSTemplate('服务完成');
    //                         smsMessage = smsMessage.replace('{ProductName}', String.isBlank(w.ProductManufactureName__c)?'':w.ProductManufactureName__c);
    //                         smsMessage = smsMessage.replace('{ProductModel}', String.isBlank(w.ProductManufactureModel__c)?'':w.ProductManufactureModel__c);
    //                         String imei = '';
    //                         if (String.isBlank(w.IMEINumber__c) == false) {
    //                             imei = w.IMEINumber__c;
    //                         } else if (String.isBlank(w.IMEINumber_F__c) == false) {
    //                             imei = w.IMEINumber_F__c;
    //                         }
    //                         smsMessage = smsMessage.replace('{IMEINumber}', imei);
    //                         Utils.sendSmsMessage(phone,smsMessage);

    //                         //发送满意度调查短信
    //                         smsMessage = Utils.getSMSTemplate('满意度调查');
    //                         smsMessage = smsMessage.replace('{EngineerName}', engineer.Name);
    //                         smsMessage = smsMessage.replace('{ProductModel}', String.isBlank(w.ProductManufactureModel__c)?'':w.ProductManufactureModel__c);
    //                         Utils.sendSmsMessage(phone,smsMessage);
    //                     }
    //                 }
    // 			}
    // 		}
    //     }
    // }
}